﻿// 130. 树状数组 1 ：单点修改，区间查询.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>


/*
https://loj.ac/p/130

题目描述
这是一道模板题。

给定数列 a_1, a_2, ....., a_n，你需要依次进行 q 个操作，操作有两类：

1 i x：给定 i,x，将 a_i 加上 x；
2 l r：给定 l,r，求
\sum_{i=l}^r a_i 的值（换言之，求 a_l+a_{l+1}+.....+a_r 的值）。
输入格式
第一行包含 2 个正整数 n,q，表示数列长度和询问个数。保证 1<= n,q<= 10^6。
第二行 n 个整数 a_1, a_2, ....., a_n，表示初始数列。保证 |a_i|<= 10^6。
接下来 q 行，每行一个操作，为以下两种之一：

1 i x：给定 i,x，将 a[i] 加上 x；
2 l r：给定 l,r，求
\sum_{i=l}^r a_i 的值。
保证 1<= l<= r<= n, |x|<= 10^6。

输出格式
对于每个 2 l r 操作输出一行，每行有一个整数，表示所求的结果。

3 2
1 2 3
1 2 0
2 1 3

6

数据范围与提示
对于所有数据，1<= n,q<= 10^6, |a_i|<= 10^6, 1<= l<= r<= n, |x|<= 10^6。

*/
int main()
{
    std::cout << "Hello World!\n";
}

 